
// 对象的类型——接口
// 在 TypeScript 中，我们使用接口（Interfaces）来定义对象的类型。


interface Person{
    readonly name:string,  // 确定属性(只读-> 只能在初始化阶段赋值一次, 后续无法修改)
    age:number,

    height?:number,  // 可选属性
    weight?:number,  

    //任意类型:  一旦定义了任意属性，那么确定属性和可选属性的类型都必须是它的类型的子集
    [propName: string]: number|string|undefined;
}

// 定义的变量比接口少了一些属性是不允许的,多一些属性也是不允许的：
let zhang:Person = {
    name:"张三",
    age:18,
    height:172,
    sex:"男"
}

// zhang.name = "张叁"

let liSi:Person = {
    name:"李四",
    age:24,
    height:177,
    weight:70,
    chinese:55,
    math:66,
    english:77
}


export default 5